Métodos de Predictivos (Clasificación o Aprendizaje-Supervisado)
Se necesita cargar las siguientes librerías
Muestra la distribución de la variable a predecir
equilibrio.variable.predecir<-function(datos,variable.predecir,ylab="Cantidad de individuos",xlab = "",
main=paste("Distribución de la variable",variable.predecir),
col = NA) {
gg_color <- function (n) {
hues <- seq(15, 375, length = n + 1)
hcl(h = hues, l = 65, c = 100)[1:n]
}
if(missing(variable.predecir) | !(variable.predecir %in% colnames(datos))){
stop("variable.predecir tiene que ser ingresada y ser un nombre de columna", call. = FALSE )
}
if(is.character(datos[,variable.predecir]) | is.factor(datos[,variable.predecir])){
if(length(col) == 0 || is.na(col)){
col <- gg_color(length(unique(datos[,variable.predecir])))
}else{
col <- rep(col,length(unique(datos[,variable.predecir])))
}
ggplot(data = datos, mapping = aes_string(x = variable.predecir, fill = variable.predecir)) +
geom_bar() +
scale_fill_manual(values = col, name = variable.predecir) +
labs(x = xlab, y = ylab, title = main) +
theme_minimal() +
theme(legend.position = "bottom")
}else{
stop("La variable a predecir tienen que ser de tipo factor o character", call. = FALSE )
}
}Muestra la distribución de una variable numérica según la variable a predecir
poder.predictivo.numerica<-function(datos,variable.predecir,variable.comparar,ylab="",xlab="",
main=paste("Densidad de la variable",variable.comparar,'según',variable.predecir),
col=NA){
gg_color <- function (n) {
hues <- seq(15, 375, length = n + 1)
hcl(h = hues, l = 65, c = 100)[1:n]
}
if(missing(variable.predecir) | !(variable.predecir %in% colnames(datos))){
stop("variable.predecir tiene que ser ingresada y ser un nombre de columna", call. = FALSE )
}
if(missing(variable.comparar) | !(variable.comparar %in% colnames(datos)) | !is.numeric(datos[,variable.comparar])){
stop("variable.comparar tiene que ser ingresada y ser un nombre de columna numérica", call. = FALSE )
}
if(is.character(datos[,variable.predecir]) | is.factor(datos[,variable.predecir])){
if(length(col) == 0 || is.na(col)){
col <- gg_color(length(unique(datos[,variable.predecir])))
}else{
col <- rep(col,length(unique(datos[,variable.predecir])))
}
ggplot(data = datos, aes_string(variable.comparar, fill = variable.predecir)) +
geom_density(alpha = .7, color = NA) +
scale_fill_manual(values = col) +
labs(title = main , y = ylab, x = xlab ,fill = variable.predecir) +
theme_minimal() +
theme(legend.position = 'bottom',
legend.title = element_blank(),
text = element_text(size = 15))
}else{
stop("La variable a predecir tienen que ser de tipo factor o character", call. = FALSE )
}
}Muestra la distribución de una variable categórica según la variable a predecir
poder.predictivo.categorica<-function(datos,variable.predecir,variable.comparar,ylab="",xlab="",
main=paste("Densidad de la variable",variable.comparar,'según',variable.predecir),
col=NA){
gg_color <- function (n) {
hues <- seq(15, 375, length = n + 1)
hcl(h = hues, l = 65, c = 100)[1:n]
}
if(missing(variable.predecir) | !(variable.predecir %in% colnames(datos))){
stop("variable.predecir tiene que ser ingresada y ser un nombre de columna", call. = FALSE )
}
if(missing(variable.comparar) | !(variable.comparar %in% colnames(datos)) |
!(is.factor(datos[,variable.comparar]) | is.character(datos[,variable.comparar])) ){
stop("variable.comparar tiene que ser ingresada y ser un nombre de columna categórica", call. = FALSE )
}
if(is.character(datos[,variable.predecir]) | is.factor(datos[,variable.predecir])){
if(length(col) == 0 || is.na(col)){
col <- gg_color(length(unique(datos[,variable.predecir])))
}else{
col <- rep(col,length(unique(datos[,variable.predecir])))
}
datos2 <- datos %>%
dplyr::group_by_(variable.comparar, variable.predecir) %>%
dplyr::summarise(count = n())
if(variable.comparar != variable.predecir){
datos2 <- datos2 %>% dplyr::group_by_(variable.comparar)
}
datos2 <- datos2 %>% dplyr::mutate(prop = round(count/sum(count),4))
ggplot(data = datos2, mapping = aes_string(x = variable.comparar, y = "prop", fill = variable.predecir)) +
geom_col(position = "fill") +
geom_text(aes(label = glue("{percent(prop)} ({count})")), position = position_stack(vjust = .5), color = "white") +
scale_y_continuous(label = percent) +
labs(y = xlab, x = ylab, title = main) +
scale_fill_manual(values = col, name = variable.predecir) +
theme(legend.position = "bottom")+
coord_flip()
}else{
stop("La variable a predecir tienen que ser de tipo factor o character", call. = FALSE )
}
}Índices para matrices NxN
indices.general <- function(MC) {
precision.global <- sum(diag(MC))/sum(MC)
error.global <- 1 - precision.global
precision.categoria <- diag(MC)/rowSums(MC)
res <- list(matriz.confusion = MC, precision.global = precision.global, error.global = error.global,
precision.categoria = precision.categoria)
names(res) <- c("Matriz de Confusión", "Precisión Global", "Error Global",
"Precisión por categoría")
return(res)
}'data.frame': 150 obs. of 5 variables:
$ s.largo: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
$ s.ancho: num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
$ p.largo: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
$ p.ancho: num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
$ tipo : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
Vamos a generar al azar una tabla de testing de tamaño 50 y una tabla de aprendizaje de tamaño 100.
Se cargan las librerías
Se genera el modelo
Call:
randomForest(formula = tipo ~ ., data = taprendizaje, importance = TRUE)
Type of random forest: classification
Number of trees: 500
No. of variables tried at each split: 2
OOB estimate of error rate: 3%
Confusion matrix:
setosa versicolor virginica class.error
setosa 35 0 0 0.00000000
versicolor 0 34 1 0.02857143
virginica 0 2 28 0.06666667
Se genera la predicción
141 19 77 149 58 32
virginica setosa versicolor virginica versicolor setosa
102 143 62 24 93 135
virginica virginica versicolor setosa versicolor virginica
34 66 36 121 49 55
setosa versicolor setosa virginica setosa versicolor
86 1 47 113 29 91
versicolor setosa setosa virginica setosa versicolor
106 120 114 132 129 148
virginica versicolor virginica virginica virginica virginica
133 123 16 42 136 137
virginica virginica setosa setosa virginica virginica
79 146 35 14 72 84
versicolor virginica setosa setosa versicolor virginica
68 6 74 103 115 78
versicolor setosa versicolor virginica virginica virginica
96 10
versicolor setosa
Levels: setosa versicolor virginica
La importancia de variables según el modelo
Se genera la matriz de confusión
prediccion
setosa versicolor virginica
setosa 15 0 0
versicolor 0 13 2
virginica 0 1 19
Índices de calidad de la predicción
$`Matriz de Confusión`
prediccion
setosa versicolor virginica
setosa 15 0 0
versicolor 0 13 2
virginica 0 1 19
$`Precisión Global`
[1] 0.94
$`Error Global`
[1] 0.06
$`Precisión por categoría`
setosa versicolor virginica
1.0000000 0.8666667 0.9500000
Se cargan las librerías
Se genera el modelo
Call:
randomForest(formula = tipo ~ ., data = taprendizaje, importance = TRUE)
Type of random forest: classification
Number of trees: 500
No. of variables tried at each split: 2
OOB estimate of error rate: 4%
Confusion matrix:
setosa versicolor virginica class.error
setosa 35 0 0 0.00000000
versicolor 0 33 2 0.05714286
virginica 0 2 28 0.06666667
Se genera la predicción
[1] virginica setosa versicolor virginica versicolor setosa
[7] virginica virginica versicolor setosa versicolor virginica
[13] setosa versicolor setosa virginica setosa versicolor
[19] versicolor setosa setosa virginica setosa versicolor
[25] virginica versicolor virginica virginica virginica virginica
[31] virginica virginica setosa setosa virginica virginica
[37] versicolor virginica setosa setosa versicolor virginica
[43] versicolor setosa versicolor virginica virginica virginica
[49] versicolor setosa
Levels: setosa versicolor virginica
La importancia de variables según el modelo
Se genera la matriz de confusión
prediction
real setosa versicolor virginica
setosa 15 0 0
versicolor 0 13 2
virginica 0 1 19
Índices de calidad de la predicción
Confusion Matrix:
prediction
real setosa versicolor virginica
setosa 15 0 0
versicolor 0 13 2
virginica 0 1 19
Overall Accuracy: 0.9400
Overall Error: 0.0600
Category Accuracy:
setosa versicolor virginica
1.000000 0.866667 0.950000
Podemos omitir crear la matriz de confusión
Confusion Matrix:
prediction
real setosa versicolor virginica
setosa 15 0 0
versicolor 0 13 2
virginica 0 1 19
Overall Accuracy: 0.9400
Overall Error: 0.0600
Category Accuracy:
setosa versicolor virginica
1.000000 0.866667 0.950000
Genera el modelo modificando el número de árboles y el número de variables
Es decir, modificando los parámetros ntree y mtry
Se cargan las librerías
Se genera el modelo
Call:
randomForest(formula = tipo ~ ., data = taprendizaje, importance = TRUE, ntree = 20, mtry = 2)
Type of random forest: classification
Number of trees: 20
No. of variables tried at each split: 2
OOB estimate of error rate: 6%
Confusion matrix:
setosa versicolor virginica class.error
setosa 35 0 0 0.00000000
versicolor 0 32 3 0.08571429
virginica 0 3 27 0.10000000
Se genera la predicción
141 19 77 149 58 32
virginica setosa versicolor virginica versicolor setosa
102 143 62 24 93 135
virginica virginica versicolor setosa versicolor virginica
34 66 36 121 49 55
setosa versicolor setosa virginica setosa versicolor
86 1 47 113 29 91
versicolor setosa setosa virginica setosa versicolor
106 120 114 132 129 148
virginica versicolor virginica virginica virginica virginica
133 123 16 42 136 137
virginica virginica setosa setosa virginica virginica
79 146 35 14 72 84
versicolor virginica setosa setosa versicolor virginica
68 6 74 103 115 78
versicolor setosa versicolor virginica virginica virginica
96 10
versicolor setosa
Levels: setosa versicolor virginica
La importancia de variables según el modelo
Se genera la matriz de confusión
prediccion
setosa versicolor virginica
setosa 15 0 0
versicolor 0 13 2
virginica 0 1 19
Índices de calidad de la predicción
$`Matriz de Confusión`
prediccion
setosa versicolor virginica
setosa 15 0 0
versicolor 0 13 2
virginica 0 1 19
$`Precisión Global`
[1] 0.94
$`Error Global`
[1] 0.06
$`Precisión por categoría`
setosa versicolor virginica
1.0000000 0.8666667 0.9500000
Se cargan las librerías
Se genera el modelo
# importance = TRUE por defecto
modelo <- train.randomForest(tipo~.,data = taprendizaje,
ntree = 20, mtry = 2)
modelo
Call:
randomForest(formula = tipo ~ ., data = taprendizaje, ntree = 20, mtry = 2, importance = TRUE)
Type of random forest: classification
Number of trees: 20
No. of variables tried at each split: 2
OOB estimate of error rate: 6%
Confusion matrix:
setosa versicolor virginica class.error
setosa 35 0 0 0.00000000
versicolor 0 33 2 0.05714286
virginica 0 4 26 0.13333333
Se genera la predicción
[1] virginica setosa versicolor virginica versicolor setosa
[7] virginica virginica versicolor setosa versicolor versicolor
[13] setosa versicolor setosa virginica setosa versicolor
[19] versicolor setosa setosa virginica setosa versicolor
[25] virginica versicolor virginica virginica virginica virginica
[31] virginica virginica setosa setosa virginica virginica
[37] versicolor virginica setosa setosa versicolor virginica
[43] versicolor setosa versicolor virginica virginica virginica
[49] versicolor setosa
Levels: setosa versicolor virginica
La importancia de variables según el modelo
Se genera la matriz de confusión
prediction
real setosa versicolor virginica
setosa 15 0 0
versicolor 0 13 2
virginica 0 2 18
Índices de calidad de la predicción
Confusion Matrix:
prediction
real setosa versicolor virginica
setosa 15 0 0
versicolor 0 13 2
virginica 0 2 18
Overall Accuracy: 0.9200
Overall Error: 0.0800
Category Accuracy:
setosa versicolor virginica
1.000000 0.866667 0.900000
Podemos omitir crear la matriz de confusión
Confusion Matrix:
prediction
real setosa versicolor virginica
setosa 15 0 0
versicolor 0 13 2
virginica 0 2 18
Overall Accuracy: 0.9200
Overall Error: 0.0800
Category Accuracy:
setosa versicolor virginica
1.000000 0.866667 0.900000
Utilizando los datos que previamente cargamos
Podemos visualizar la distribución de las variables numéricas según la variable a predecir.
Utilizando los mismo datos para prueba (ttesting) y aprendizaje (taprendizaje) que creamos anteriormente.
Se cargan las librerías
Se genera el modelo
modelo <- randomForest(tipo~p.largo+p.ancho, data = taprendizaje, importance = TRUE,
ntree = 100, mtry = 2)
modelo
Call:
randomForest(formula = tipo ~ p.largo + p.ancho, data = taprendizaje, importance = TRUE, ntree = 100, mtry = 2)
Type of random forest: classification
Number of trees: 100
No. of variables tried at each split: 2
OOB estimate of error rate: 4%
Confusion matrix:
setosa versicolor virginica class.error
setosa 35 0 0 0.00000000
versicolor 0 33 2 0.05714286
virginica 0 2 28 0.06666667
Se genera la predicción
141 19 77 149 58 32
virginica setosa versicolor virginica versicolor setosa
102 143 62 24 93 135
virginica virginica versicolor setosa versicolor virginica
34 66 36 121 49 55
setosa versicolor setosa virginica setosa versicolor
86 1 47 113 29 91
versicolor setosa setosa virginica setosa versicolor
106 120 114 132 129 148
virginica versicolor virginica virginica virginica virginica
133 123 16 42 136 137
virginica virginica setosa setosa virginica virginica
79 146 35 14 72 84
versicolor virginica setosa setosa versicolor virginica
68 6 74 103 115 78
versicolor setosa versicolor virginica virginica virginica
96 10
versicolor setosa
Levels: setosa versicolor virginica
La importancia de variables según el modelo
Se genera la matriz de confusión
prediccion
setosa versicolor virginica
setosa 15 0 0
versicolor 0 13 2
virginica 0 1 19
Índices de calidad de la predicción
$`Matriz de Confusión`
prediccion
setosa versicolor virginica
setosa 15 0 0
versicolor 0 13 2
virginica 0 1 19
$`Precisión Global`
[1] 0.94
$`Error Global`
[1] 0.06
$`Precisión por categoría`
setosa versicolor virginica
1.0000000 0.8666667 0.9500000
Se cargan las librerías
Se genera el modelo
modelo <- train.randomForest(tipo~p.largo+p.ancho, data = taprendizaje,
ntree = 100, mtry = 2)
modelo
Call:
randomForest(formula = tipo ~ p.largo + p.ancho, data = taprendizaje, ntree = 100, mtry = 2, importance = TRUE)
Type of random forest: classification
Number of trees: 100
No. of variables tried at each split: 2
OOB estimate of error rate: 5%
Confusion matrix:
setosa versicolor virginica class.error
setosa 35 0 0 0.00000000
versicolor 0 34 1 0.02857143
virginica 0 4 26 0.13333333
Se genera la predicción
[1] virginica setosa versicolor virginica versicolor setosa
[7] virginica virginica versicolor setosa versicolor virginica
[13] setosa versicolor setosa virginica setosa versicolor
[19] versicolor setosa setosa virginica setosa versicolor
[25] virginica versicolor virginica virginica virginica virginica
[31] virginica virginica setosa setosa virginica virginica
[37] versicolor virginica setosa setosa versicolor virginica
[43] versicolor setosa versicolor virginica virginica virginica
[49] versicolor setosa
Levels: setosa versicolor virginica
La importancia de variables según el modelo
Se genera la matriz de confusión
prediction
real setosa versicolor virginica
setosa 15 0 0
versicolor 0 13 2
virginica 0 1 19
Índices de calidad de la predicción
Confusion Matrix:
prediction
real setosa versicolor virginica
setosa 15 0 0
versicolor 0 13 2
virginica 0 1 19
Overall Accuracy: 0.9400
Overall Error: 0.0600
Category Accuracy:
setosa versicolor virginica
1.000000 0.866667 0.950000
Podemos omitir crear la matriz de confusión
Confusion Matrix:
prediction
real setosa versicolor virginica
setosa 15 0 0
versicolor 0 13 2
virginica 0 1 19
Overall Accuracy: 0.9400
Overall Error: 0.0600
Category Accuracy:
setosa versicolor virginica
1.000000 0.866667 0.950000
setwd("~/Desktop/Datos/")
datos<-read.csv("MuestraCredito5000V2.csv",sep = ";",header=T)
# Recodifica las variables como categóricas ordinales
datos$IngresoNeto <- factor(datos$IngresoNeto, ordered = TRUE)
datos$CoefCreditoAvaluo <- factor(datos$CoefCreditoAvaluo, ordered = TRUE)'data.frame': 5000 obs. of 6 variables:
$ MontoCredito : int 14327 111404 21128 15426 10351 27060 243369 16300 18319 107037 ...
$ IngresoNeto : Ord.factor w/ 2 levels "1"<"2": 1 1 1 2 1 1 1 2 2 2 ...
$ CoefCreditoAvaluo: Ord.factor w/ 12 levels "1"<"2"<"3"<"4"<..: 1 1 1 1 1 1 1 1 1 1 ...
$ MontoCuota : Factor w/ 4 levels "Alto","Bajo",..: 4 4 4 4 4 4 4 4 4 4 ...
$ GradoAcademico : Factor w/ 2 levels "Bachiller","Licenciatura": 1 1 1 1 1 1 1 1 1 1 ...
$ BuenPagador : Factor w/ 2 levels "No","Si": 2 2 2 2 2 2 2 2 2 2 ...
Vamos a generar al azar una tabla de testing con 15% de los datos y una tabla de aprendizaje con 85%
Se cargan las librerías
Se genera el modelo
Call:
randomForest(formula = BuenPagador ~ ., data = taprendizaje, importance = TRUE)
Type of random forest: classification
Number of trees: 500
No. of variables tried at each split: 2
OOB estimate of error rate: 5.13%
Confusion matrix:
No Si class.error
No 441 174 0.28292683
Si 44 3591 0.01210454
Se genera la predicción
3625 721 571 3428 295 2866 4644 354 4710 124 3617 2689 1112 2785 1352
Si Si Si Si Si Si Si Si No Si Si Si Si Si Si
2801 1187 4973 2720 1942 4156 1101 3501 2256 4660 2521 797 3790 4624 4921
Si Si No Si Si Si Si Si No Si Si Si Si Si No
81 824 3363 1396 3512 789 2998 4365 1966 1046 4963 957 3138 4752 2354
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
813 3584 3262 2088 4600 681 74 3538 1662 831 1080 945 1317 4151 657
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
1316 4976 1081 2947 4913 3228 4673 4692 4080 1463 3782 510 3716 1745 2266
Si No Si Si No Si Si No Si Si Si Si Si Si No
4184 3636 1094 4315 3216 1737 4380 4253 1655 4471 2506 4511 3085 2928 697
Si Si Si No Si Si Si Si Si Si Si Si Si Si Si
247 4127 3695 3120 2046 4718 1057 1495 503 1839 2240 523 1294 2277 1125
Si Si Si Si Si Si Si Si Si Si Si Si Si No Si
3801 3161 4911 1158 4375 3601 2662 2743 2528 1163 693 2350 3631 2571 2424
Si Si Si Si Si Si Si Si Si Si Si No Si Si No
4641 3367 1088 2708 1533 2089 1539 3671 113 2107 1632 4281 1288 470 4843
Si Si Si Si Si Si Si Si Si Si Si Si Si Si No
3828 3292 2137 2964 2894 4518 3893 3679 2970 415 1462 3552 4265 618 4860
Si Si Si Si Si Si Si Si Si Si Si Si Si Si No
42 4903 3246 1624 2080 2655 1884 4149 3788 2262 598 2820 3747 1492 4192
Si No Si Si Si Si Si Si Si No Si Si Si Si Si
61 2759 4232 4635 4169 4266 1892 3404 4074 735 4044 3536 1530 3256 479
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
4809 927 3520 872 2383 4528 1940 3809 3873 1269 1866 3097 376 2415 2128
No Si Si Si Si Si Si Si Si Si Si Si Si No Si
4128 2498 3036 3080 3786 1144 3335 562 4536 4914 2530 3304 4042 4450 3867
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
4384 4480 2385 3826 3067 2920 1590 2843 2110 3294 2473 233 4482 3897 170
Si Si No Si Si Si Si Si Si Si No Si Si Si Si
613 786 2370 2760 2908 4147 3675 3490 1906 3696 1909 1473 3159 1505 4996
Si Si No Si Si Si Si Si Si Si Si Si Si Si No
4319 2937 2667 1496 2648 1790 3016 1725 121 1370 1550 3224 4476 4393 1726
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
2124 2860 3997 3078 4529 2614 1215 1997 3415 4346 775 2099 2055 3903 4307
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
2981 3810 862 4015 2891 1171 4159 157 75 2406 2855 4896 53 253 1612
Si Si Si Si Si Si Si Si Si No Si Si Si Si Si
4904 329 47 4010 436 4126 730 153 4758 4650 942 3989 105 2586 1584
No Si Si Si Si Si Si Si No Si Si Si Si Si Si
4835 4278 3706 3798 1816 3407 1915 1755 1033 4994 2411 2120 1314 4181 158
Si Si Si Si Si Si Si Si Si Si No Si Si Si Si
967 4539 2973 313 1948 2291 2849 2396 1622 4620 1565 2328 1803 2878 9
Si Si Si Si Si No Si Si Si Si Si No Si Si Si
3473 908 1504 4264 499 928 4908 213 2844 2714 4956 2125 2649 316 4658
Si Si Si Si Si Si No Si Si Si No Si Si Si Si
3761 2884 2308 660 2778 449 4364 4875 359 237 366 599 1887 2787 4407
Si Si No Si Si Si Si No Si Si Si Si Si Si Si
4898 3112 461 3657 727 934 1575 463 4656 4775 4333 4322 2407 138 3492
No Si Si Si Si Si Si Si Si No Si Si No Si Si
2921 2511 2468 1941 338 843 2636 1680 122 4929 1423 833 4369 2803 2068
Si Si Si Si Si Si Si Si Si Si No Si Si Si No
3198 3362 1819 4449 3219 2868 240 1628 1195 390 4321 4608 4332 3166 4716
Si Si Si Si Si Si Si Si Si Si Si Si Si Si No
825 874 1291 445 1486 1148 4058 4698 2765 4865 2861 4027 2215 2904 1239
Si Si Si Si Si Si Si Si Si No Si Si Si Si Si
1373 739 3453 763 3060 1772 55 497 2819 2985 665 254 362 1219 3608
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
4576 3920 331 1659 3371 4566 659 3564 1641 1383 4158 1924 2442 1271 3241
Si Si Si Si Si Si Si Si Si Si Si Si No Si Si
4659 2913 4001 3567 2983 225 2895 3839 4168 4401 3725 4984 756 474 4323
Si Si Si Si Si Si Si Si Si Si Si No Si Si Si
4124 4603 1202 4677 2657 402 2914 3242 3733 505 1334 3730 3751 3589 3189
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
1522 1639 1319 4951 557 1438 3555 3815 3783 2010 2635 1090 3583 2950 4024
Si Si Si No Si Si Si Si Si Si Si Si Si Si Si
2631 2543 462 1075 159 126 4005 1861 4009 4966 4601 3856 1132 229 752
Si Si Si Si Si Si Si Si Si No No Si Si Si Si
1284 405 3698 1870 4186 1752 2786 3269 2520 3546 1029 2441 4507 10 4459
Si Si Si Si Si Si Si Si Si Si Si No Si Si Si
1907 2798 820 1022 1770 3240 1361 2487 1699 2161 4163 553 2581 2616 4085
Si Si Si Si Si Si Si No Si Si Si Si Si Si Si
3214 1827 2577 1276 1001 4410 1206 3061 2321 2777 3140 3158 610 439 1222
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
4093 3047 4363 1404 1702 3717 2881 3734 220 1310 2583 3013 3498 3156 3892
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
3735 3064 4390 2769 1586 2300 838 2474 4472 2210 1871 4066 939 1282 4515
Si Si Si Si Si No Si No Si Si Si Si Si Si Si
2031 679 3379 4119 787 2779 2023 1669 2485 3372 3343 2011 412 3139 4899
Si Si Si Si Si Si Si Si No Si Si Si Si Si No
2929 4464 1417 700 4362 4523 1769 669 4941 1452 4455 2430 3098 4077 3566
Si Si Si Si Si Si Si Si No Si Si No Si Si Si
3906 989 4283 619 616 1829 1449 4330 2419 1708 844 2276 451 4949 1990
Si Si Si Si Si Si Si Si Si Si Si No Si No Si
357 1411 1281 3645 2644 174 3248 1061 4627 2984 3587 3398 3690 3271 3806
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
1685 2846 4145 3043 686 3048 1643 3884 2199 4386 2330 4802 4461 4552 516
Si Si Si Si Si Si Si Si No Si No No Si Si Si
1196 2681 4439 2327 3568 327 3215 3509 2356 984 136 1937 968 3001 4861
Si No Si Si Si Si Si Si Si Si Si Si Si Si No
4112 1230 3768 4140 2235 4438 318 1431 4513 1608 63 4487 3008 2753 4383
Si Si Si Si No Si Si Si Si Si Si Si Si Si Si
2851 4136 3581 4642 4120 4060 3507 4048 3702 1697 2204 1943 2979 312 2059
Si Si Si Si Si Si Si Si Si Si No Si Si Si Si
2306 35 2880 1256 2044 4686 3093 929 2548 3685 496 2638 3888 4795 4429
No Si Si Si Si No Si Si Si Si Si Si Si No Si
3451 2791 1849 3887 3249 2772 346 1890 2592 350 2684 399 1205 2630 631
Si Si Si Si Si Si Si Si No Si Si Si Si Si Si
2590 3802 2208 1601 398 565 1926 3710 3185 4418 3221 4706 1412 2594 1490
Si Si Si Si Si Si Si Si Si Si Si No Si Si Si
Levels: No Si
La importancia de variables según el modelo
Se genera la matriz de confusión
prediccion
No Si
No 60 30
Si 6 654
Índices de calidad de la predicción
$`Matriz de Confusión`
prediccion
No Si
No 60 30
Si 6 654
$`Precisión Global`
[1] 0.952
$`Error Global`
[1] 0.048
$`Precisión por categoría`
No Si
0.6666667 0.9909091
Se cargan las librerías
Se genera el modelo
Call:
randomForest(formula = BuenPagador ~ ., data = taprendizaje, importance = TRUE)
Type of random forest: classification
Number of trees: 500
No. of variables tried at each split: 2
OOB estimate of error rate: 4.99%
Confusion matrix:
No Si class.error
No 443 172 0.27967480
Si 40 3595 0.01100413
Se genera la predicción
[1] Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si No Si Si Si Si Si
[24] No Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[47] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si No Si Si No Si
[70] Si Si Si Si Si No Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si
[93] Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si
[116] Si No Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si
[139] Si Si Si Si Si Si Si Si Si Si Si No Si No Si Si Si Si Si Si Si No Si
[162] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si
[185] Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si
[208] Si Si Si Si Si No Si Si Si Si Si Si Si No Si Si Si Si Si Si No Si Si
[231] Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si
[254] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[277] Si Si Si No Si Si Si Si Si No Si Si Si Si Si Si Si No Si Si Si Si Si
[300] Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si No Si
[323] Si Si Si Si No Si Si Si Si Si Si Si Si Si No Si Si Si No Si Si Si Si
[346] Si Si No Si Si Si Si No Si Si Si Si Si Si Si No Si Si Si Si Si Si Si
[369] Si No Si Si No Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si No Si
[392] Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si
[415] No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[438] Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si
[461] Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[484] No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No No
[507] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si
[530] Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[553] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[576] No Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si
[599] Si No Si Si Si Si Si Si Si Si No Si Si No Si Si Si Si Si Si Si Si Si
[622] Si Si Si Si Si No Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[645] Si Si Si Si Si Si Si Si Si No Si No No Si Si Si Si No Si Si Si Si Si
[668] Si Si Si Si Si Si Si No Si Si Si Si No Si Si Si Si Si Si Si Si Si Si
[691] Si Si Si Si Si Si Si Si Si Si No Si Si Si Si No Si Si Si Si No Si Si
[714] Si Si Si Si Si No Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si
[737] Si Si Si Si Si Si Si Si Si Si No Si Si Si
Levels: No Si
La importancia de variables según el modelo
Se genera la matriz de confusión
prediction
real No Si
No 60 30
Si 6 654
Índices de calidad de la predicción
Confusion Matrix:
prediction
real No Si
No 60 30
Si 6 654
Overall Accuracy: 0.9520
Overall Error: 0.0480
Category Accuracy:
No Si
0.666667 0.990909
Podemos omitir crear la matriz de confusión
Confusion Matrix:
prediction
real No Si
No 60 30
Si 6 654
Overall Accuracy: 0.9520
Overall Error: 0.0480
Category Accuracy:
No Si
0.666667 0.990909
Genera el modelo modificando el número de árboles y el número de variables
Es decir, modificando los parámetros ntree y mtry
Se cargan las librerías
Se genera el modelo
modelo <- randomForest(BuenPagador~.,data = taprendizaje, importance = TRUE,
ntree = 200, mtry = 2)
modelo
Call:
randomForest(formula = BuenPagador ~ ., data = taprendizaje, importance = TRUE, ntree = 200, mtry = 2)
Type of random forest: classification
Number of trees: 200
No. of variables tried at each split: 2
OOB estimate of error rate: 5.06%
Confusion matrix:
No Si class.error
No 446 169 0.27479675
Si 46 3589 0.01265475
Se genera la predicción
3625 721 571 3428 295 2866 4644 354 4710 124 3617 2689 1112 2785 1352
Si Si Si Si Si Si Si Si No Si Si Si Si Si Si
2801 1187 4973 2720 1942 4156 1101 3501 2256 4660 2521 797 3790 4624 4921
Si Si No Si Si Si Si Si No Si Si Si Si Si No
81 824 3363 1396 3512 789 2998 4365 1966 1046 4963 957 3138 4752 2354
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
813 3584 3262 2088 4600 681 74 3538 1662 831 1080 945 1317 4151 657
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
1316 4976 1081 2947 4913 3228 4673 4692 4080 1463 3782 510 3716 1745 2266
Si No Si Si No Si Si No Si Si Si Si Si Si No
4184 3636 1094 4315 3216 1737 4380 4253 1655 4471 2506 4511 3085 2928 697
Si Si Si No Si Si Si Si Si Si Si Si Si Si Si
247 4127 3695 3120 2046 4718 1057 1495 503 1839 2240 523 1294 2277 1125
Si Si Si Si Si Si Si Si Si Si Si Si Si No Si
3801 3161 4911 1158 4375 3601 2662 2743 2528 1163 693 2350 3631 2571 2424
Si Si Si Si Si Si Si Si Si Si Si No Si Si No
4641 3367 1088 2708 1533 2089 1539 3671 113 2107 1632 4281 1288 470 4843
Si Si Si Si Si Si Si Si Si Si Si Si Si Si No
3828 3292 2137 2964 2894 4518 3893 3679 2970 415 1462 3552 4265 618 4860
Si Si Si Si Si Si Si Si Si Si Si Si Si Si No
42 4903 3246 1624 2080 2655 1884 4149 3788 2262 598 2820 3747 1492 4192
Si No Si Si Si Si Si Si Si No Si Si Si Si Si
61 2759 4232 4635 4169 4266 1892 3404 4074 735 4044 3536 1530 3256 479
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
4809 927 3520 872 2383 4528 1940 3809 3873 1269 1866 3097 376 2415 2128
No Si Si Si Si Si Si Si Si Si Si Si Si No Si
4128 2498 3036 3080 3786 1144 3335 562 4536 4914 2530 3304 4042 4450 3867
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
4384 4480 2385 3826 3067 2920 1590 2843 2110 3294 2473 233 4482 3897 170
Si Si No Si Si Si Si Si Si Si No Si Si Si Si
613 786 2370 2760 2908 4147 3675 3490 1906 3696 1909 1473 3159 1505 4996
Si Si No Si Si Si Si Si Si Si Si Si Si Si No
4319 2937 2667 1496 2648 1790 3016 1725 121 1370 1550 3224 4476 4393 1726
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
2124 2860 3997 3078 4529 2614 1215 1997 3415 4346 775 2099 2055 3903 4307
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
2981 3810 862 4015 2891 1171 4159 157 75 2406 2855 4896 53 253 1612
Si Si Si Si Si Si Si Si Si No Si Si Si Si Si
4904 329 47 4010 436 4126 730 153 4758 4650 942 3989 105 2586 1584
No Si Si Si Si Si Si Si No Si Si Si Si Si Si
4835 4278 3706 3798 1816 3407 1915 1755 1033 4994 2411 2120 1314 4181 158
Si Si Si Si Si Si Si Si Si Si No Si Si Si Si
967 4539 2973 313 1948 2291 2849 2396 1622 4620 1565 2328 1803 2878 9
Si Si Si Si Si No Si Si Si Si Si No Si Si Si
3473 908 1504 4264 499 928 4908 213 2844 2714 4956 2125 2649 316 4658
Si Si Si Si Si Si No Si Si Si No Si Si Si Si
3761 2884 2308 660 2778 449 4364 4875 359 237 366 599 1887 2787 4407
Si Si No Si Si Si Si No Si Si Si Si Si Si Si
4898 3112 461 3657 727 934 1575 463 4656 4775 4333 4322 2407 138 3492
No Si Si Si Si Si Si Si Si No Si Si No Si Si
2921 2511 2468 1941 338 843 2636 1680 122 4929 1423 833 4369 2803 2068
Si Si Si Si Si Si Si Si Si Si No Si Si Si No
3198 3362 1819 4449 3219 2868 240 1628 1195 390 4321 4608 4332 3166 4716
Si Si Si Si Si Si Si Si Si Si Si Si Si Si No
825 874 1291 445 1486 1148 4058 4698 2765 4865 2861 4027 2215 2904 1239
Si Si Si Si Si Si Si Si Si No Si Si Si Si Si
1373 739 3453 763 3060 1772 55 497 2819 2985 665 254 362 1219 3608
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
4576 3920 331 1659 3371 4566 659 3564 1641 1383 4158 1924 2442 1271 3241
Si Si Si Si Si Si Si Si Si Si Si Si No Si Si
4659 2913 4001 3567 2983 225 2895 3839 4168 4401 3725 4984 756 474 4323
Si Si Si Si Si Si Si Si Si Si Si No Si Si Si
4124 4603 1202 4677 2657 402 2914 3242 3733 505 1334 3730 3751 3589 3189
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
1522 1639 1319 4951 557 1438 3555 3815 3783 2010 2635 1090 3583 2950 4024
Si Si Si No Si Si Si Si Si Si Si Si Si Si Si
2631 2543 462 1075 159 126 4005 1861 4009 4966 4601 3856 1132 229 752
Si Si Si Si Si Si Si Si Si No No Si Si Si Si
1284 405 3698 1870 4186 1752 2786 3269 2520 3546 1029 2441 4507 10 4459
Si Si Si Si Si Si Si Si Si Si Si No Si Si Si
1907 2798 820 1022 1770 3240 1361 2487 1699 2161 4163 553 2581 2616 4085
Si Si Si Si Si Si Si No Si Si Si Si Si Si Si
3214 1827 2577 1276 1001 4410 1206 3061 2321 2777 3140 3158 610 439 1222
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
4093 3047 4363 1404 1702 3717 2881 3734 220 1310 2583 3013 3498 3156 3892
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
3735 3064 4390 2769 1586 2300 838 2474 4472 2210 1871 4066 939 1282 4515
Si Si Si Si Si No Si No Si Si Si Si Si Si Si
2031 679 3379 4119 787 2779 2023 1669 2485 3372 3343 2011 412 3139 4899
Si Si Si Si Si Si Si Si No Si Si Si Si Si No
2929 4464 1417 700 4362 4523 1769 669 4941 1452 4455 2430 3098 4077 3566
Si Si Si Si Si Si Si Si No Si Si No Si Si Si
3906 989 4283 619 616 1829 1449 4330 2419 1708 844 2276 451 4949 1990
Si Si Si Si Si Si Si Si Si Si Si No Si No Si
357 1411 1281 3645 2644 174 3248 1061 4627 2984 3587 3398 3690 3271 3806
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
1685 2846 4145 3043 686 3048 1643 3884 2199 4386 2330 4802 4461 4552 516
Si Si Si Si Si Si Si Si No Si No No Si Si Si
1196 2681 4439 2327 3568 327 3215 3509 2356 984 136 1937 968 3001 4861
Si No Si Si Si Si Si Si Si Si Si Si Si Si No
4112 1230 3768 4140 2235 4438 318 1431 4513 1608 63 4487 3008 2753 4383
Si Si Si Si No Si Si Si Si Si Si Si Si Si Si
2851 4136 3581 4642 4120 4060 3507 4048 3702 1697 2204 1943 2979 312 2059
Si Si Si Si Si Si Si Si Si Si No Si Si Si Si
2306 35 2880 1256 2044 4686 3093 929 2548 3685 496 2638 3888 4795 4429
No Si Si Si Si No Si Si Si Si Si Si Si No Si
3451 2791 1849 3887 3249 2772 346 1890 2592 350 2684 399 1205 2630 631
Si Si Si Si Si Si Si Si No Si Si Si Si Si Si
2590 3802 2208 1601 398 565 1926 3710 3185 4418 3221 4706 1412 2594 1490
Si Si Si Si Si Si Si Si Si Si Si No Si Si Si
Levels: No Si
La importancia de variables según el modelo
Se genera la matriz de confusión
prediccion
No Si
No 60 30
Si 6 654
Índices de calidad de la predicción
$`Matriz de Confusión`
prediccion
No Si
No 60 30
Si 6 654
$`Precisión Global`
[1] 0.952
$`Error Global`
[1] 0.048
$`Precisión por categoría`
No Si
0.6666667 0.9909091
Se cargan las librerías
Se genera el modelo
# importance = TRUE por defecto
modelo <- train.randomForest(BuenPagador~.,data = taprendizaje,
ntree = 200, mtry = 2)
modelo
Call:
randomForest(formula = BuenPagador ~ ., data = taprendizaje, ntree = 200, mtry = 2, importance = TRUE)
Type of random forest: classification
Number of trees: 200
No. of variables tried at each split: 2
OOB estimate of error rate: 5.04%
Confusion matrix:
No Si class.error
No 446 169 0.27479675
Si 45 3590 0.01237964
Se genera la predicción
[1] Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si No Si Si Si Si Si
[24] No Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[47] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si No Si
[70] Si Si Si Si Si No Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si
[93] Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si
[116] Si No Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si
[139] Si Si Si Si Si Si Si Si Si Si Si No Si No Si Si Si Si Si Si Si No Si
[162] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si
[185] Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si
[208] Si Si Si Si Si No Si Si Si Si Si Si Si No Si Si Si Si Si Si No Si Si
[231] Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si
[254] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[277] Si Si Si No Si Si Si Si Si No Si Si Si Si Si Si Si No Si Si Si Si Si
[300] Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si No Si
[323] Si Si Si Si No Si Si Si Si Si Si Si Si Si No Si Si Si No Si Si Si Si
[346] Si Si No Si Si Si Si No Si Si Si Si Si Si Si No Si Si Si Si Si Si Si
[369] Si No Si Si No Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si No Si
[392] Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si
[415] No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[438] Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si
[461] Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[484] No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No No
[507] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si
[530] Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[553] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[576] No Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si
[599] Si No Si Si Si Si Si Si Si Si No Si Si No Si Si Si Si Si Si Si Si Si
[622] Si Si Si Si Si No Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[645] Si Si Si Si Si Si Si Si Si No Si No No Si Si Si Si No Si No Si Si Si
[668] Si Si Si Si Si Si Si No Si Si Si Si No Si Si Si Si Si Si Si Si Si Si
[691] Si Si Si Si Si Si Si Si Si Si No Si Si Si Si No No Si Si Si No Si Si
[714] Si Si Si Si Si No Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si
[737] Si Si Si Si Si Si Si Si Si Si No Si Si Si
Levels: No Si
La importancia de variables según el modelo
Se genera la matriz de confusión
prediction
real No Si
No 60 30
Si 7 653
Índices de calidad de la predicción
Confusion Matrix:
prediction
real No Si
No 60 30
Si 7 653
Overall Accuracy: 0.9507
Overall Error: 0.0493
Category Accuracy:
No Si
0.666667 0.989394
Podemos omitir crear la matriz de confusión
Confusion Matrix:
prediction
real No Si
No 60 30
Si 7 653
Overall Accuracy: 0.9507
Overall Error: 0.0493
Category Accuracy:
No Si
0.666667 0.989394
Utilizando los datos que previamente cargamos
Podemos visualizar la distribución de las variables numéricas y categóricas según la variable a predecir.
Utilizando los mismo datos para prueba (ttesting) y aprendizaje (taprendizaje) que creamos anteriormente.
Se cargan las librerías
Se genera el modelo
modelo <- randomForest(BuenPagador~CoefCreditoAvaluo+MontoCredito+GradoAcademico,
data = taprendizaje,importance = TRUE,ntree = 200,mtry = 2)
modelo
Call:
randomForest(formula = BuenPagador ~ CoefCreditoAvaluo + MontoCredito + GradoAcademico, data = taprendizaje, importance = TRUE, ntree = 200, mtry = 2)
Type of random forest: classification
Number of trees: 200
No. of variables tried at each split: 2
OOB estimate of error rate: 6.82%
Confusion matrix:
No Si class.error
No 369 246 0.40000000
Si 44 3591 0.01210454
Se genera la predicción
3625 721 571 3428 295 2866 4644 354 4710 124 3617 2689 1112 2785 1352
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
2801 1187 4973 2720 1942 4156 1101 3501 2256 4660 2521 797 3790 4624 4921
Si Si No Si Si Si Si Si Si Si Si Si Si Si No
81 824 3363 1396 3512 789 2998 4365 1966 1046 4963 957 3138 4752 2354
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
813 3584 3262 2088 4600 681 74 3538 1662 831 1080 945 1317 4151 657
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
1316 4976 1081 2947 4913 3228 4673 4692 4080 1463 3782 510 3716 1745 2266
Si Si Si Si No Si Si Si Si Si Si No Si Si No
4184 3636 1094 4315 3216 1737 4380 4253 1655 4471 2506 4511 3085 2928 697
Si Si Si No Si Si Si Si Si Si Si Si Si Si Si
247 4127 3695 3120 2046 4718 1057 1495 503 1839 2240 523 1294 2277 1125
Si Si Si Si Si Si Si Si Si Si Si Si Si No Si
3801 3161 4911 1158 4375 3601 2662 2743 2528 1163 693 2350 3631 2571 2424
Si Si Si Si Si Si Si Si Si Si Si No Si Si No
4641 3367 1088 2708 1533 2089 1539 3671 113 2107 1632 4281 1288 470 4843
Si Si Si Si Si Si Si Si Si Si Si Si Si Si No
3828 3292 2137 2964 2894 4518 3893 3679 2970 415 1462 3552 4265 618 4860
Si Si Si Si Si Si Si Si Si Si Si Si Si Si No
42 4903 3246 1624 2080 2655 1884 4149 3788 2262 598 2820 3747 1492 4192
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
61 2759 4232 4635 4169 4266 1892 3404 4074 735 4044 3536 1530 3256 479
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
4809 927 3520 872 2383 4528 1940 3809 3873 1269 1866 3097 376 2415 2128
No Si Si Si Si Si Si Si Si Si Si Si Si No Si
4128 2498 3036 3080 3786 1144 3335 562 4536 4914 2530 3304 4042 4450 3867
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
4384 4480 2385 3826 3067 2920 1590 2843 2110 3294 2473 233 4482 3897 170
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
613 786 2370 2760 2908 4147 3675 3490 1906 3696 1909 1473 3159 1505 4996
Si Si No Si Si Si Si Si Si Si No Si Si Si Si
4319 2937 2667 1496 2648 1790 3016 1725 121 1370 1550 3224 4476 4393 1726
Si Si Si Si Si Si No Si Si Si Si Si Si Si Si
2124 2860 3997 3078 4529 2614 1215 1997 3415 4346 775 2099 2055 3903 4307
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
2981 3810 862 4015 2891 1171 4159 157 75 2406 2855 4896 53 253 1612
Si Si Si Si Si Si Si Si Si No Si Si Si Si Si
4904 329 47 4010 436 4126 730 153 4758 4650 942 3989 105 2586 1584
Si Si Si Si Si Si Si Si No Si Si Si Si Si Si
4835 4278 3706 3798 1816 3407 1915 1755 1033 4994 2411 2120 1314 4181 158
Si Si Si Si Si Si Si Si Si Si No Si Si Si Si
967 4539 2973 313 1948 2291 2849 2396 1622 4620 1565 2328 1803 2878 9
Si Si Si Si Si No Si Si Si Si Si No Si Si Si
3473 908 1504 4264 499 928 4908 213 2844 2714 4956 2125 2649 316 4658
Si Si Si Si Si Si Si Si Si Si No Si Si Si Si
3761 2884 2308 660 2778 449 4364 4875 359 237 366 599 1887 2787 4407
Si Si No Si Si Si Si No Si Si Si Si Si Si Si
4898 3112 461 3657 727 934 1575 463 4656 4775 4333 4322 2407 138 3492
Si Si Si Si Si Si Si Si Si No Si Si No Si Si
2921 2511 2468 1941 338 843 2636 1680 122 4929 1423 833 4369 2803 2068
Si Si Si Si Si Si Si Si Si Si No Si Si Si Si
3198 3362 1819 4449 3219 2868 240 1628 1195 390 4321 4608 4332 3166 4716
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
825 874 1291 445 1486 1148 4058 4698 2765 4865 2861 4027 2215 2904 1239
Si Si Si Si Si Si Si Si Si No Si Si Si Si Si
1373 739 3453 763 3060 1772 55 497 2819 2985 665 254 362 1219 3608
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
4576 3920 331 1659 3371 4566 659 3564 1641 1383 4158 1924 2442 1271 3241
Si Si Si Si Si Si Si Si Si Si Si Si No Si Si
4659 2913 4001 3567 2983 225 2895 3839 4168 4401 3725 4984 756 474 4323
Si Si Si Si Si Si Si Si Si Si Si No Si Si Si
4124 4603 1202 4677 2657 402 2914 3242 3733 505 1334 3730 3751 3589 3189
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
1522 1639 1319 4951 557 1438 3555 3815 3783 2010 2635 1090 3583 2950 4024
Si Si Si No Si Si Si Si Si Si Si Si Si Si Si
2631 2543 462 1075 159 126 4005 1861 4009 4966 4601 3856 1132 229 752
Si Si Si Si Si Si Si Si Si No Si Si Si Si Si
1284 405 3698 1870 4186 1752 2786 3269 2520 3546 1029 2441 4507 10 4459
Si Si Si Si Si Si Si Si Si Si Si No Si Si Si
1907 2798 820 1022 1770 3240 1361 2487 1699 2161 4163 553 2581 2616 4085
Si Si Si Si Si Si Si No Si Si Si Si Si Si Si
3214 1827 2577 1276 1001 4410 1206 3061 2321 2777 3140 3158 610 439 1222
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
4093 3047 4363 1404 1702 3717 2881 3734 220 1310 2583 3013 3498 3156 3892
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
3735 3064 4390 2769 1586 2300 838 2474 4472 2210 1871 4066 939 1282 4515
Si Si Si Si Si No Si No Si Si Si Si Si Si Si
2031 679 3379 4119 787 2779 2023 1669 2485 3372 3343 2011 412 3139 4899
Si Si Si Si Si Si Si Si No Si Si Si Si Si Si
2929 4464 1417 700 4362 4523 1769 669 4941 1452 4455 2430 3098 4077 3566
Si Si Si Si Si Si Si Si No Si Si No Si Si Si
3906 989 4283 619 616 1829 1449 4330 2419 1708 844 2276 451 4949 1990
Si Si Si Si Si Si Si Si Si Si Si No Si No Si
357 1411 1281 3645 2644 174 3248 1061 4627 2984 3587 3398 3690 3271 3806
Si Si Si No Si Si Si Si Si Si Si Si Si Si Si
1685 2846 4145 3043 686 3048 1643 3884 2199 4386 2330 4802 4461 4552 516
Si Si Si Si Si Si Si Si No Si No No Si Si Si
1196 2681 4439 2327 3568 327 3215 3509 2356 984 136 1937 968 3001 4861
Si No Si Si Si Si Si Si Si Si Si Si Si Si No
4112 1230 3768 4140 2235 4438 318 1431 4513 1608 63 4487 3008 2753 4383
Si Si Si Si No Si Si Si Si Si Si Si Si Si Si
2851 4136 3581 4642 4120 4060 3507 4048 3702 1697 2204 1943 2979 312 2059
Si Si Si Si Si Si Si Si Si Si No Si Si Si Si
2306 35 2880 1256 2044 4686 3093 929 2548 3685 496 2638 3888 4795 4429
No Si Si Si Si Si Si Si Si Si Si Si Si No Si
3451 2791 1849 3887 3249 2772 346 1890 2592 350 2684 399 1205 2630 631
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
2590 3802 2208 1601 398 565 1926 3710 3185 4418 3221 4706 1412 2594 1490
Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
Levels: No Si
La importancia de variables según el modelo
Se genera la matriz de confusión
prediccion
No Si
No 44 46
Si 7 653
Índices de calidad de la predicción
$`Matriz de Confusión`
prediccion
No Si
No 44 46
Si 7 653
$`Precisión Global`
[1] 0.9293333
$`Error Global`
[1] 0.07066667
$`Precisión por categoría`
No Si
0.4888889 0.9893939
Se cargan las librerías
Se genera el modelo
modelo <- train.randomForest(BuenPagador~CoefCreditoAvaluo+MontoCredito+GradoAcademico,
data = taprendizaje,ntree = 200,mtry = 2)
modelo
Call:
randomForest(formula = BuenPagador ~ CoefCreditoAvaluo + MontoCredito + GradoAcademico, data = taprendizaje, ntree = 200, mtry = 2, importance = TRUE)
Type of random forest: classification
Number of trees: 200
No. of variables tried at each split: 2
OOB estimate of error rate: 6.73%
Confusion matrix:
No Si class.error
No 369 246 0.40000000
Si 40 3595 0.01100413
Se genera la predicción
[1] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si
[24] Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[47] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si
[70] Si Si No Si Si No Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si
[93] Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si
[116] Si No Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si
[139] Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si
[162] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si
[185] Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si
[208] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si
[231] Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si
[254] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[277] Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si
[300] Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si No Si
[323] Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si
[346] Si Si No Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[369] Si No Si Si No Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si
[392] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[415] No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[438] Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si
[461] Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[484] No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si
[507] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si Si Si Si
[530] Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[553] Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[576] No Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si No Si Si Si Si
[599] Si Si Si Si Si Si Si Si Si Si No Si Si No Si Si Si Si Si Si Si Si Si
[622] Si Si Si Si Si No Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[645] Si Si Si Si Si Si Si Si Si No Si No No Si Si Si Si No Si Si Si Si Si
[668] Si Si Si Si Si Si Si No Si Si Si Si No Si Si Si Si Si Si Si Si Si Si
[691] Si Si Si Si Si Si Si Si Si Si No Si Si Si Si No Si Si Si Si Si Si Si
[714] Si Si Si Si Si No Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si Si
[737] Si Si Si Si Si Si Si Si Si Si Si Si Si Si
Levels: No Si
La importancia de variables según el modelo
Se genera la matriz de confusión
prediction
real No Si
No 44 46
Si 6 654
Índices de calidad de la predicción
Confusion Matrix:
prediction
real No Si
No 44 46
Si 6 654
Overall Accuracy: 0.9307
Overall Error: 0.0693
Category Accuracy:
No Si
0.488889 0.990909
Podemos omitir crear la matriz de confusión
Confusion Matrix:
prediction
real No Si
No 44 46
Si 6 654
Overall Accuracy: 0.9307
Overall Error: 0.0693
Category Accuracy:
No Si
0.488889 0.990909